﻿using System;
using System.Collections.Generic;
using System.Text;

namespace JESAI.HttpRequestMonitor.Core.Abstracts
{
    public interface IRequestModel
    {
        /// <summary>
        /// 主键
        /// </summary>
        public string Id { get; set; }

        /// <summary>
        /// 父级ID，Treac tree结构
        /// </summary>
        public string ParentId { get; set; }

        /// <summary>
        /// 请求ID
        /// </summary>
        public string IP { get; set; }

        /// <summary>
        /// 请求端口
        /// </summary>
        public int Port { get; set; }

        /// <summary>
        /// 本地IP
        /// </summary>
        public string LocalIP { get; set; }

        /// <summary>
        /// 本地端口
        /// </summary>
        public int LocalPort { get; set; }

        /// <summary>
        /// 请求方法
        /// </summary>
        public string Method { get; set; }

        /// <summary>
        /// 执行耗时(毫秒)
        /// </summary>
        public int Milliseconds { get; set; }

        /// <summary>
        /// 节点名称
        /// </summary>
        public string Node { get; set; }

        /// <summary>
        /// 请求路由
        /// </summary>
        public string Route { get; set; }

        /// <summary>
        /// 响应状态码
        /// </summary>
        public int StatusCode { get; set; }

        /// <summary>
        /// 请求URL
        /// </summary>
        public string Url { get; set; }

        /// <summary>
        /// 请求类型
        /// </summary>
        public string RequestType { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }
    }
}
